package edu.dayu.service;

import com.github.pagehelper.PageInfo;
import edu.dayu.model.hosp.Schedule;
import edu.dayu.vo.hosp.ScheduleQueryVo;

import java.util.List;
import java.util.Map;

public interface ScheduleService {

    /**
     * 根据id获取排班
     */
    Schedule getById(String id);

    /**
     * 上传排班信息
     * @param paramMap
     */
    void save(Map<String, Object> paramMap);

    /**
     * 分页查询
     * @param page 当前页码
     * @param size 每页记录数
     * @param scheduleQueryVo 查询条件
     * @return
     */
    PageInfo<Schedule> selectPage(Integer page, Integer size, ScheduleQueryVo scheduleQueryVo);

    /**
     * 删除排版信息
     * @param hoscode
     * @param hosScheduleId
     */
    void remove(String hoscode, String hosScheduleId);

    //根据医院编号 和 科室编号 ，查询排班规则数据
    Map<String, Object> getRuleSchedule(Integer page, Integer limit, String hoscode, String depcode);

    //根据医院编号 、科室编号和工作日期，查询排班详细信息
    List<Schedule> getDetailSchedule(String hoscode, String depcode, String workDate);

    /**
     * 获取排班可预约日期数据
     */
    Map<String, Object> getBookingScheduleRule(int page, int limit, String hoscode, String depcode);

    /**
     * 修改排班
     */
    void update(Schedule schedule);
}

